
if(BUILD_CUDA)
    message(STATUS "CUDA")
    add_subdirectory(gpu)
endif()

add_library(mcsimCommandLine mcsimCommandLine.cxx)
add_library(analyzePyrkovaCommandLine analyzePyrkovaCommandLine.cxx)
add_library(TriangularLattice TriangularLattice.cpp LattExchanger.cpp MsdEnabledLattEx.cpp types.cpp InteractionsTracker.cpp )
add_library(ProteinTriangularLattice ProteinTriangularLattice.cpp InteractionsTracker.cpp)
add_library(Metropolis Metropolis.cpp)
add_library(KawasakiSimulation KawasakiSimulation.cpp)
add_library(KawasakiProteins KawasakiProteins.cpp)
add_library(ClustersAnalyzer ClustersAnalyzer.cpp)
add_library(Atom Atom.cpp)
add_executable(analyze analyze.cpp)
add_executable(analyzePyrkova analyzePyrkova.cpp)
if(CUDA_FOUND)
    add_executable(mcsim mcsimCommandLine TriangularLattice.cpp mcsim.cpp InteractionsTracker.cpp)
    target_link_libraries(mcsim Metropolis_cuda)
else(CUDA_FOUND)
    add_executable(mcsim mcsimCommandLine TriangularLattice.cpp LattExchanger.cpp MsdEnabledLattEx.cpp ProteinTriangularLattice.cpp Metropolis.cpp
        KawasakiSimulation.cpp types.cpp mcsim.cpp InteractionsTracker.cpp)
    target_link_libraries(mcsim Metropolis KawasakiSimulation KawasakiProteins)
endif(CUDA_FOUND)
target_link_libraries(analyzePyrkova ClustersAnalyzer Atom
    analyzePyrkovaCommandLine)
